package cn.iocoder.yudao.module.cmt.dal.dataobject.person;

import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 志愿者/师资注册申请 DO
 *
 * @author 芋道源码
 */
@TableName("cmt_person_volunteer_apply")
@KeySequence("cmt_person_volunteer_apply_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PersonVolunteerApplyDO extends BaseDO {

    /**
     * ID
     */
    @TableId
    private Long id;
    /**
     * 社区ID
     */
    private Long communityId;
    /**
     * 申请会员ID
     */
    private Long userId;
    /**
     * 关联人员ID
     */
    private Long personId;
    /**
     * 申请类型：1志愿者 2师资
     */
    private Integer applyType;
    /**
     * 真实姓名
     */
    private String realName;
    /**
     * 性别：1男 2女
     */
    private Integer gender;
    /**
     * 年龄
     */
    private Integer age;
    /**
     * 联系电话
     */
    private String phone;
    /**
     * 身份证号
     */
    private String idCard;
    /**
     * 学历
     */
    private String education;
    /**
     * 职业
     */
    private String occupation;
    /**
     * 特长技能(JSON数组)
     */
    private String skills;
    /**
     * 身份证正面
     */
    private String idCardFront;
    /**
     * 身份证反面
     */
    private String idCardBack;
    /**
     * 资格证书(JSON数组)
     */
    private String certificate;
    /**
     * 申请理由
     */
    private String applyReason;
    /**
     * 可服务时间
     */
    private String availableTime;
    /**
     * 审核状态：0待审核 1通过 2拒绝
     */
    private Integer auditStatus;
    /**
     * 审核人ID
     */
    private Long auditUserId;
    /**
     * 审核时间
     */
    private LocalDateTime auditTime;
    /**
     * 审核备注
     */
    private String auditRemark;
    /**
     * 状态：0停用 1启用
     */
    private Integer status;
    /**
     * 备注
     */
    private String remark;

}
